mptr

    Multiple species ingrowth particle tracking. Note that data for each numbered group must be input. The other input is optional.

    • Group 1 - NSPECI, MAXLAYERS, MAX_PARTICLES, RIPFEHM, MAX1D
    • Group 2 - POUT, PRNT_RST
      • or when PRNT_RST ≥ 20, selected output parameters
    • Group 2 - POUT, PRNT_RST, PRNT_VARNUM ( 1 … 6)
      • Optional keyword “tcurve” is input to indicate that transfer function curves should be input to model matrix diffusion. It is followed by NUMPARAMS and TFILENAME.
        • KEYWORD
        • NUMPARAMS, FFMAX
        • TFILENAME
      • Optional keyword “zptr” designates zones for breakthrough curves will be defined. It is followed by IPZONE and IDZONE.
        • KEYWORD ‘zptr’
        • IPZONE
        • IDZONE(I) I = 1 to IPZONE
    • Group 3 - RSEED, RSEED_RELEASE
      • Optional keyword “wtri” is input to indicate a water table rise calculation should be performed. It is followed by WATER_TABLE. For GoldSim the water table rise calculation is controlled by passing a new water table elevation to the code during the simulation and the keyword is not required.
        • KEYWORD ‘wtri’
        • WATER_TABLE
    • Group 4 - DAYCS, DAYCF, DAYHF, DAYHS
      • An optional, flexible input structure involving the assignment of transport parameters is implemented in the particle tracking input to allow multiple realization simulations to use different parameters for each realization. The user invokes this option using the keyword “file” before Group 5, followed by the name of the file that the transport parameters reside in. The applicable transport parameters are defined in Group 5 and Group 9.
        • KEYWORD ‘file’
        • PFILENAME
      • The structure of the alternate parameter file is:
        • NINPUTS
        • PTRPARAM(I) I=1 to NINPUTS
        • .
        • .
        • .
      • [a line of parameters is present for each realization]

    The method for assigning a given value of the particle tracking parameter (PTRPARAM) to a specific transport parameter, defined in Group 5 or Group 9, is discussed below. There are an arbitrary number of input lines each representing a given realization of parameter values. In a multiple-realization scenario, the code enters the input file for each realization, and for this input, reads down the corresponding number of lines to obtain the parameters for that realization. For example, for realization number 10, the code reads down to the 10th line of data (line 11 in the file) and uses those parameter values.

    Once these parameters are read in for a given realization, they must be assigned to specific transport parameters. This is done in the following way in Group 5 or Group 9. If any of the inputs other than TRANSFLAG are negative, the code takes the absolute value of the number and interprets it as the column number from which to assign the transport parameter. For example, if DIFFMFL = -5, then the diffusion coefficient is the fifth input number in the PTRPARAM array. In this way, any of the transport parameter inputs can be assigned through the alternate input file rather than the input line in mptr. It should be noted that for the colloid diversity model, only K_REV need be negative to indicate values should be read from the parameter file, if K_REV is negative then all five parameters are read from the file, otherwise the equation parameters will be read from the mptr macro. This is to accommodate the fact that the SLOPE_KF may have negative values.

    Group 5 is used to define models in which identical transport parameters are assumed to apply. Group 5 data are read until a blank line is encountered. The model number ITRC is incremented by 1 each time a line is read. Model parameters defined in Group 5 are assigned to nodes or zones using Group6.

    Optional keyword “afm” indicates the Active Fracture Model input for determining fracture spacing should be used. Optional keyword “dfree” is input to indicate that a free water diffusion coefficient and tortuosity will be entered instead of the molecular diffusion coefficient.

    KEYWORD ‘afm’

    KEYWORD ‘dfre’

    • Group 5 - TCLX(ITRC), TCLY(ITRC), TCLZ(ITRC), APERTUR(ITRC), MATRIX_POR(ITRC)
      • or when ‘afm’ is implemented:
      • Group 5 - TCLX(ITRC), TCLY(ITRC), TCLZ(ITRC), APERTUR(ITRC), MATRIX_POR(ITRC), SRESIDUAL(ITRC), GAMMA_AFM(ITRC)
    • Group 6 - JA, JB, JC, ITRC (JA, JB, JC - defined on See JA, JB, JC, PROP1, PROP2, …)

    The following groups (Group 7 - 12) are repeated for each species.

    • Group 7 - ITH_SPECI, TRAK_TYPE, HALF_LIFE, IDAUGHTER, CONFACTOR, NEWCONFACTOR, CONFTIME, GMOL, P_FRACTION, ASTEP, CFRACTION

    Optional keyword “size” is input to indicate that the colloid size distribution model option is being used. It is followed by PART_SIZE and PROBSIZE.

    KEYWORD ‘size’

    PART_SIZE(I), PROBSIZE(I) - an arbitrary numbers of lines of input, terminated by a blank line.

    Optional keyword “dive” is input to indicate that the colloid diversity model is being used. It is followed by FLAG_COL_DAUGHTER, optional keyword “file” and the name of the file containing the CDF table or equation data (a description of the format for the file is provided with the second mptr example below), the TPRPFLAG with optional SIMNUM, optional CDF equation parameters (when “file” is not used), and keyword “irreversible” or “reversible” with FLAG_LOG.

    KEYWORD ‘dive’ or KEYWORD ‘dive
    FLAG_COL_DAUGHTER   FLAG_COL_DAUGHTER
    KEYWORD ‘file’   TPRPFLAG
    CDFFILENAME   or
    TPRPFLAG   TPRPFLAG, SIMNUM
    or   K_REV, R_MIN,R_MAX, SLOPE_KF, CINT_KF
    TPRPFLAG, SIMNUM   KEYWORD ‘irreversible’
    KEYWORD ‘irreversible’   or
    or   KEYWORD ‘reversible’, FLAG_LOG
    KEYWORD ‘reversible’, FLAG_LOG    

    Note that optional KEYWORDs “size” and “dive” are only used when colloid transport is enabled.

    • Group 8 - LAYERS
    • Group 9 - LAYER_I, TRANSFLAG, KD, RD_FRAC, DIFFMFL

    or for simulations using “dfree”:

    • Group 9 - LAYER_I, TRANSFLAG, KD, RD_FRAC, H2O_DIFF, TORT_DIFF

    or for simulations with colloid (TRANSFLAG < 0):

    • Group 9 - LAYER_I, TRANSFLAG, KD, RD_FRAC, DIFFMFL, KCOLL, RCOLL, FCOLL

    or for simulations with colloid using “dfree”:

    • Group 9 - LAYER_I, TRANSFLAG, KD, RD_FRAC, H2O_DIFF, TORT_DIFF, KCOLL, RCOLL, FCOLL
    • Group 10 - NS
    • Group 11 - JA, JB, JC, TMPCNSK

    Note that because the number of source terms is controlled by the value entered for NS, Group 11 input is not terminated with a blank line.

    • Group 12 - PINMASS, T1SK, T2SK

    For transient source terms, Group 12 is repeated for each time interval and terminated with a blank line. Groups 11 and 12 are repeated for each source term (from 1 to NS).

    For decay-ingrowth calculations, when the particle injection period is too small (for example, 1.E-4 days) compared to the half-life of the radionuclides and the half-life is large (for example 1.E+9 days), numerical errors in the decay-ingrowth calculation may arise due to truncation error. To get better accuracy, the user should try to increase the length of the injection period.

    For particle tracking simulations using the transfer function method (see See Transfer function curve data input file for input file format), it is sometimes desirable to identify the parameter ranges over which the two- and three-parameter type curves are accessed, so that an assessment can be made regarding the density of transfer function curves in a given part of the parameter space. If the flag output_flag in the transfer function file is set to “out”, the code writes the real*8 array param_density to the *.out file in the following format:

    For regular parameter spacings, the output is:

    i = 1, nump1
       j = 1, nump2
           k = nump3
    
               write(iout.*) param_density(i,j,k)
    
           end do
       end do
    end do
    

    For two-parameter models, only the i and j loops are used. The value of param_density is the number of times any particle passes through any node at those values of the parameters. This allows the user to identify regions in which a greater density of transfer functions may be required. For the option ‘free’ in which there is no structure to the parameter grid used for the transfer function curves, nump1 is the total number of curves, and nump2 and nump3 are equal to 1.

    Input Variable Format Description
    NSPECI integer Number of species in the simulation.
    MAXLAYERS integer Maximum number of property layers in the model. The actual number of layers used in the model must be ≤ MAXLAYERS.
    MAX_PARTICLES integer Maximum number of particles used for individual species.
    RIPFEHM integer
    Flag to indicate if simulation is coupled with GoldSim.
    RIPFEHM = 0, FEHM standalone simulation
    RIPFEHM = 1, GoldSim-FEHM coupling simulation
    MAX1D integer Maximum 1-D array size for holding particle tracking information for all simulated species. The value of MAX1D depends on number of species, number of time steps, number of radionuclide release bins, number of species involved in ingrowth, and the length of the decay-ingrowth chain.
    POUT integer
    Flag to specify the concentration output format:
    1 - Concentrations computed as number of particles per unit total volume (rock and fluid)
    2 - Concentrations computed as number of particles per unit fluid volume (the fluid is liquid for TRAK_TYPE = 1 and gas for TRAK_TYPE = 2).
    3 - Concentrations computed as number of particles at a given node point.
    PRNT_RST integer
    Flag to specify whether particle information is written to the “.fin”, “.ptrk_fin”, or “.ptrk” files:
    If PRNT_RST = 0, Particle information is not written to the output files.
    If PRNT_RST = 1, 11, 21, 31, 41 All particle information necessary for a restart is written to the “.fin” file.
    If PRNT_RST = -1, -11, -21, -31, -41 Only particle positions and ages are written to the “.fin” file.
    If ABS (PRNT_RST) = 2, 12, 22, 32, 42 Mass flux values are written to the “.fin” file followed by particle information.
    If 10 ≤ ABS(PRNT_RST) < 30 Particle exit locations and count are written to the “.ptrk_fin” file.
    If ABS(PRNT_RST) ≥ 20 Cumulative particle counts versus time are written to the “.ptrk” file, for variables specified by PRNT_VARNUM (the default is to output all variables).
    If ABS(PRNT_RST) ≥ 40, Cumulative mass output from a FEHM/GoldSim coupled simulation will be written to file FEHM_GSM_Mass_balance.txt. Note that to track cumulative mass an additional array of size maxparticles*nspeci must be allocated so caution should be used when specifying this option to ensure sufficient system memory is available.

    When particle tracking data or mass fluxes are written to the .fin file, the arrays are written after all of the heat and mass simulation information. The mass fluxes can be read into the code in a subsequent ptrk or mptr simulation and the code can simulate transport on this steady state flow field (see macro rflo).The particle information written is sufficient to perform a restart of the particle tracking simulation and to post-process the data to compile statistics on the particle tracking run. However, for a large number of particles, this file can become quite large, so particle tracking information should only be written when necessary. Thus, 0 should be used for PRNT_RST unless restarting or post-processing to obtain particle statistics is required. Selecting the “-” options allows a subset of the full set of information needed for a restart (particle positions and ages) to be written. Restart runs that use this file as input will only be approximate, since the particle is assumed to have just entered its current cell. For restart runs, PRNT_RST = 1 is preferred, while PRNT_RST = -1 is appropriate for output of particle statistics for post- processing.
    PRNT_VARNUM integer
    A list of integers specifying which particle counts should be output. For each value entered PRNT_VAR(PRNT_VARNUM) is set to true. If no values are entered the default is to print all variables.
    1 – Number of particles that have entered the system
    2 – Number of particles currently in the system
    3 – Number of particles that have left the system
    4 – Number of particles that have decayed
    5 – Number of particles that have been filtered
    6 – Number of particles that left this time interval
    Note: The data found in the “.ptrk” file was previously reported in the general output file. From version 2.25 of the code and forward that data will be reported in the optional, “.ptrk” file unless a coupled GoldSim-FEHM simulation is being run. In addition, the user has the option of selecting which statistics parameters are reported. The default is to report all statistics parameters.
    KEYWORD character Optional keyword “tcurve” indicating transfer function curve data should be input to model matrix diffusion. If the keyword is found then NUMPARAMS and FILENAME are entered, otherwise they are omitted.
    NUMPARAMS integer Number of parameters that define the transfer function curves being used.
    FFMAX real The maximum fracture flow fraction used in the transfer function curve data. Default value: 0.99.
    TFILENAME character Name of input file containing the transfer function curve data.
    KEYWORD character*4 Optional keyword ‘zptr’ designating zones for breakthrough curves will be defined. If no keyword is input, IPZONE and IDZONE are also omitted.
    IPZONE integer Number of zones for which breakthrough curves are to be output
    IDZONE integer A list of zones for which particle breakthrough data are required. The code outputs the number of particles that leave the system at each zone IDZONE at the current time step. This information is written to the “.out” file at each heat and mass transfer time step.
    RSEED integer 6-digit integer random number seed.
    RSEED_RELEASE integer
    6-digit integer random number seed for particle release location calculation. If a value is not entered for RSEED_RELEASE it will be set equal to RSEED.

    Note that for GoldSim-FEHM coupled simulations the random seeds are controlled by GoldSIM and the values input in the mptr macro are not used.
    KEYWORD character*4 Optional keyword ‘wtri” indicatiing a water table rise calculation should be performed.
    WATER_TABLE real
    Water table elevation to be used for water table rise calculation.
    Note that for GoldSim-FEHM coupled simulations the water table rise calculations are controlled by GoldSIM and the values input in the mptr macro are not used and may be omitted.
    DAYCS real Time which the particle tracking solution is enabled (days).
    DAYCF real Time which the particle tracking solution is disabled (days).
    DAYHF real Time which the flow solution is disabled (days).
    DAYHS real Time which the flow solution is enabled (days).
    KEYWORD character*4 Optional keyword ‘file’ designating alternate transport parameter file input for multiple simulation realizations.
    PFILENAME character*80 Name of file from which to read transport parameters.
    KEYWORD character*4 Optional keyword ‘afm’ designating the Active Fracture Model input for determining fracture spacing should be used.
    KEYWORD character*5 Optional keyword ‘dfree’ designates that the free water diffusion coefficient and tortuosity will be input instead of the molecular diffusion coefficient.
    TCLX real Dispersivity in the x-direction (m). The input value is ignored when dispersion is turned off.
    TCLY real Dispersivity in the y-direction (m). The input value is ignored when dispersion is turned off.
    TCLZ real Dispersivity in the z-direction (m). The input value is ignored when dispersion is turned off.
    APERTUR real Mean fracture aperture (m). The input value is ignored when matrix diffusion is turned off.
    MATRIX_POR real Porosity of the rock matrix. Used to simulate diffusion and sorption in the rock matrix when matrix diffusion is invoked, otherwise the input value of MATRIX_POR is ignored.
    SRESIDUAL real Residual saturation in the Active Fracture Model used for determining the spacing between active fractures. This parameter is only needed when the keyword ‘afm’ is included, in which case the input must be entered. However, the model is only used in dual permeability simulations at locations where the finite spacing matrix diffusion model is invoked.
    GAMMA_AFM real Exponent in the Active Fracture Model used for determining the spacing between active fractures. See comments for SRESIDUAL above.
    ITRC integer Model number for parameters defined in group 5.
    ITH_SPECI integer Number index of the ith species.
    TRAK_TYPE integer
    Flag to denote the fluid phase of the particles:
    1 - liquid phase particles
    2 - vapor phase particles
    HALF_LIFE real Half-life for irreversible first order decay reaction(s) (days). Set HALF_LIFE = 0 for no decay.
    IDAUGHTER integer
    Index of the daughter species (i.e., the index number of the species to which the current species decays)
    If IDAUGHTER = 0, there is no decay and no ingrowth,
    If IDAUGHTER = -1, there is decay but no ingrowth.
    CONFACTOR real
    Initial conversion factor for GoldSim-FEHM coupling and FEHM standalone simulations (# of particles/mole).

    For FEHM stand alone simulations:
    If CONFACTOR = 0, no conversion is necessary. The input value of PINMASS is the number of particles.

    For GoldSim-FEHM coupling:
    If CONFACTOR = 0, at each time step, the code selects a conversion factor based on the available memory and the remaining simulation time (end time - current time). The code then uses the selected conversion factor to calculate the number of particles to be injected at the current time step.

    For both stand alone and GoldSim-FEHM coupling cases:
    If CONFACTOR > 0, the code assumes the input mass is in moles and uses the product of the CONFACTOR and the input mass to calculate the input number of particles at each time step.
    When CONFACTOR >0, FEHM may use an updated conversion factor from previous time step(s) as the input for the current time step instead of using the original input CONFACTOR for improved results.

    If CONFACTOR < 0, the code uses the product of the absolute value of CONFACTOR and the input mass (in moles) to calculate the input number of particles at each time step. A CONFACTOR updated from a previous time step will not be used.
    NEWCONFACTOR real
    Replace the initial value of CONFACTOR with that specified by NEWCONFACTOR.
    If NEWCONFACTOR = 0, use automatic conversion factors.
    If NEWCONFACTOR > 0, then use the product of the CONFACTOR and the input mass (in moles) to calculate the input number of particles at each time step starting from CONFTIME. In this case, FEHM may use an updated conversion factor from previous time step(s) as a modification to CONFACTOR.
    If NEWCONFACTOR < 0, then FEHM uses the product of the absolute value of NEWCONFACTOR and the input mass (in moles) to calculate the input number of particles at each time step (CONFACTOR = -NEWCONFACTOR).
    CONFTIME real The time at which to change the CONFACTOR value to that specified by NEWCONFACTOR.
    GMOL real The molecular weight of the ith species. The code uses GMOL and CONFACTOR to convert the mass from number of particles to grams in the final output for GoldSim-FEHM coupling.
    P_FRACTION real The decay-ingrowth particle release factor (percentage of the maximum number of particles released for the current species). For decay-ingrowth simulations, P_FRACTION is used to reduce the number of particles released by parent or daughter species, thus, avoiding memory overflow in the daughter species due to parent decay-ingrowth where multiple parents decay to the same daughter species. The normal range of P_FRACTION is from 0 to 1. The default value is 0.25. A user should select an appropriate value based on the mass input of parent and daughter species, half-lives, importance of each species to the transport results, and simulation time period.
    ASTEP integer Maximum length of array used to hold particle tracking information for the ith species. Its value depends on number of time steps, number of release bins, and number of parent species. The sum of ASTEP for all species should be equal to or smaller than MAX1D.
    CFRACTION real The fraction of the user determined maximum number of particles (MAX_PARTICLES) to be assigned by mass, (1 – cfraction) will then be the fraction of particles assigned by time step.
    KEYWORD character*4 Optional keyword ‘size’ designating that the colloid size distribution model option is being used (combined with the interface filtration option in the itfc macro). If the keyword is not input, PART_SIZE and PROBSIZE are also omitted. Colloid size is only sampled once for each realization.
    PART_SIZE real Colloid particle size for this entry of the particle size distribution table (paired with a value of PROBSIZE). An arbitrary number of entries can be input, terminated with a blank line. The code assigns each particle a size based on this distribution of particle sizes, and decides if particles are irreversibly filtered based on the pore size distribution assigned in the itfc macro.
    PROBSIZE real Colloid cumulative probability for the distribution of sizes (paired with a value of PART_SIZE). See description of PART_SIZE above for details. The final entry of the table must have PROBSIZE = 1, since the distribution is assumed to be normalized to unity.
    KEYWORD character*4 Optional keyword “dive” signifying that the specie being specified is either a colloid species using the colloid diversity model or a non-colloid daughter species of a colloid species.
    FLAG_COL_DAUGHTER integer When FLAG_COL_DAUGHTER = 1 signals that the species being specified is a non-colloid species that can result as a daughter product of a colloid parent species. If the species is not a daughter product or the daughter product is a colloid, FLAG_COL_DAUGHTER = 0.
    KEYWORD character*4 Optional keyword ‘file’ designating the cumulative probability distribution function (CDF) retardation parameters for the colloid diversity model should be read from an external file.
    CDF_FILENAME character*80
    Name of the file containing the cumulative probability distribution function (CDF) (entered if optional keyword ‘file’ follows keyword ‘dive’). See below for file formats.
    If TPRPFLAG = 11 or 12, Table option
    If TPRPFLAG = 13 or 14, Equation option

    The following equations are used for \(R_{min} \le R \le R_{max}\),
    \(R = 1 + K_f / K_{rev}\), \(\log_{10}(CDF) = b + m \cdot \log_{10}(K_f)\)
    TPRP_FLAG integer
    Values of TPRPFLAG between 11 and 14 signify that the colloid diversity model with equal weight sampling will be used:
    TPRPFLAG = 11: CDF vs retardation factor specified in a table
    TPRPFLAG = 12: similar to 11, but the SQRT(CDF) is used instead of CDF for sampling
    TPRPFLAG = 13: CDF vs \(K_f\) (Attachment rate constant) specified as a straight line equation in the log-log space
    TPRPFLAG = 14: similar to 13, but the SQRT(CDF) is used instead of CDF for sampling
    SIMNUM integer Simulation number, used for selecting the table/equation from the colloid diversity file. For GoldSim-FEHM coupled simulations or FEHM runs using the ‘msim’ option this parameter is passed to the code. For non-coupled simulations it is an optional input. (Default value = 1)
    K_REV real Detachment rate constant for reversible filtration of irreversible colloids.
    R_MIN real Minimum value of the retardation factor for reversible filtration of irreversible colloids.
    R_MAX real Maximum value of the retardation factor for reversible filtration of irreversible colloids
    SLOPE_KF real
    Value of the slope (\(m\)) in the log-log space for the equation:
    \(\log_{10}(CDF) = b + m \cdot \log_{10}(K_f)\)
    CINT_KF real Value of the intercept (\(b\)) in the log-log space for the above equation
    KEYWORD character Keyword specifying whether the colloid species is ‘irreversible’ or ‘reversible’.
    FLAG_LOG integer
    For reversible colloids an average retardation factor is used:

    If FLAG_LOG = 0: a linear average of the distribution is used
    If FLAG_LOG = 1: a log-linear average of the distribution is used
    LAYERS integer Number of layers in which the transport properties of the ith species are to be modified. If no property is altered, then set layers=0.
    LAYER_I integer The index number of the ith layer defined in group 5
    TRANSFLAG integer
    Flag to specify which transport mechanisms apply [abs(TRANSFLAG)]:
    1 - advection only (no dispersion or matrix diffusion)
    2 - advection and dispersion (no matrix diffusion)
    3 - advection and matrix diffusion, infinite fracture spacing solution (no dispersion)
    4 - advection, dispersion, and matrix diffusion, infinite fracture spacing solution
    5 - advection and matrix diffusion, finite fracture spacing solution (no dispersion)
    6 - advection, dispersion, and matrix diffusion, finite fracture spacing solution
    8 - use the the transfer function approach with 3 dimensionless parameters and type curves for handling fracture-matrix interactions.

    For TRANSFLAG < 0, transport simulations include colloids.
    For equivalent continuum solutions, the fracture spacing in the finite spacing model is determined using

    \(SPACING = APERTURE / POROSITY\)

    For dual permeability models, the fracture spacing input parameter APUV1 in the dpdp macro is used as the half-spacing between fractures. If the Active Fracture Model (see keyword ‘afm’) is used, APUV1 is the geometric fracture half-spacing, and the additional terms SRESIDUAL and GAMMA_AFM are used to determine the spacing between active fractures (see below).
    KD real Sorption coefficient (linear, reversible, equilibrium sorption). Units are kg-fluid / kg-rock (these units are equivalent to the conventional units of cc/g when the carrier fluid is water at standard conditions). This value applies to the medium as a whole when matrix diffusion is turned off, whereas for simulations invoking matrix diffusion, the value applies to the rock matrix. For the latter case, sorption in the flowing system (fractures) is modeled using the RD_FRAC variable.
    RD_FRAC real Retardation factor within the primary porosity (fractures) for a matrix diffusion particle tracking simulation (use 1 for no sorption on fracture faces). The input value is ignored unless matrix diffusion is invoked.
    DIFFMFL real Molecular diffusion coefficient in the rock matrix (m2/s). The input value is ignored unless matrix diffusion is invoked.
    H2O_DIFF real
    Free water diffusion coefficient. The molecular diffusion coefficient is calculated as \(H2O\_DIFF \times TORT\_DIFF\)
    TORT_DIFF real Tortuosity
    KCOLL real
    Colloid distribution parameter, the ratio of contaminant mass residing on colloids to the mass present in aqueous form. It is used to compute an effective aperture via the following:
    \(APWID = APERERTURE \cdot (1 + KCOLL)\)
    RCOLL real
    Colloid retardation factor. Used, in conjunction with kcoll, to adjust colloid retardation in fractures using the following formula:
    \(FRACRD = \frac{RD\_FRAC + KCOLL \cdot RCOLL}{1+KCOLL}\)
    FCOLL real Colloid filtration parameter. Used to compute the probability a colloid will be irreversibly filtered along the path between two nodes using the following: \(PROBFILT = 1 - \exp(DISTANCE/FCOLL)\) where \(DISTANCE\) iis the leength of the path between nodes.
    NS   Number of spatial source terms for the ith species
    TMPCNSK real
    Particle injection parameter assigned for nodes defined by JA, JB, and JC. Two options are available:

       
    TMPCNSK > 0. - particles are injected at each node in proportion to the source mass flow rate at the node. This boundary condition is equivalent to injecting a solute of a given concentration into the system. Note: the source flow rates used to assign the number and timing of particle injections are those at the beginning of the particle tracking simulation (time DAYCS). Transient changes in this source flow rate during the particle tracking simulation do not change the number of particles input to the system.
    TMPCNSK < 0. - particles are introduced at the node(s), regardless of whether there is a fluid source at the node.

    Default is 0. for all unassigned nodes, meaning that no particles are injected at that node.
    PINMASS real Input mass. If CONFACTOR = 0, PINMASS is the number of particles to be injected at locations defined by TMPCNSK. If CONFACTOR > 0, PINMASS is the input mass expressed in moles. The code uses CONFACTOR to convert PINMASS into number of particles.
    T1SK real Time (days) when particle injection begins. Default is 0.
    T2SK real Time (days) when particle injection ends. Default is 0.

    Note

    Notes on Restarting: As with all restart runs for FEHM, a “.ini” file is specified to be read to set the initial conditions upon restarting. However, there are two possibilities for restart calculations with particle tracking (mptr or ptrk): 1) the heat and mass transfer solution is being restarted, but the particle tracking simulation is initiated during the restart run (it was not carried out in the simulation that generated the “.ini” file); or 2) the heat and mass transfer solution and the particle tracking simulation are both being restarted. If the code does not find the “ptrk” key word at the top of the “.ini” file, then the original run did not employ particle tracking, and Case 1 is assumed. A common example is a preliminary calculation that establishes a fluid flow steady state, followed by a restart simulation of transport.

    If “ptrk” was written into the “.ini” file in the original run, the particle data in the “.ini” file are read and used to initialize the particle tracking simulation (Case 2). In this instance, the number of particles (NPART) must be set the same for the restart run as in the original run or the results will be unpredictable.When restarting a particle tracking simulation, certain input data are overwritten by information in the “.ini” file. These parameters include RSEED, RSEED_RELEASE, PCNSK, T1SK, and T2SK. Other input parameters can be set to different values in the restart run than they were in the original run, but of course care must be taken to avoid physically unrealistic assumptions, such as an abrupt change in transport properties (Group 4 input) part way through a simulation.

    A final note on restart calculations is in order. A common technique in FEHM restart calculations is to reset the starting time at the top of the “.ini” file to 0 or in the time macro so that the starting time of the restart simulation is arbitrarily 0, rather than the ending time of the original simulation. This is useful for the example of the steady state flow calculation, followed by a restart solute transport calculation. Although this technique is acceptable for particle tracking runs that are initiated only upon restart (Case 1), it is invalid when a particle tracking run is being resumed (Case 2). The reason is that all particle times read from the “.ini” file are based on the starting time of the original simulation during which the particle tracking simulation was initiated.

    The following is an example of mptr. A multiple-species decay-chain (\(\rightarrow 2 \rightarrow 3\)) is simulated, with decay half lives of the species equaling 10,000, 3,000, 10,000, and 4,000 years, respectively. In this simulation a maximum of 3 property layers are specified although only 1 layer is used, the maximum number of particles is specified to be 1100100, and FEHM is run in stand-alone mode. Concentrations will be computed as number of particles per unit fluid volume and no output will be written to the “.fin” file. Use of the ‘zptr’ keyword indicates that a single zone will be defined for breakthrough curve output which will be written to the “.out” file. The random number seed is defined to be 244562. The particle tracking solution is enabled at 0.1 days, and disabled at 3.65e8 days, while the flow solution is disabled at 38 days and re-enabled at 3.65e8 days. Dispersivity in the X-, Y-, and Z- directions are defined to be 0.005 m, the mean fracture aperture is 0.0001 m, and the matrix porosity is 0.3. Particles for species 1 are injected at a constant rate from 0 to 5,000 years, and species 2, 3, and 4 are formed through the decay reactions, with no input at the inlet. Advection and dispersion (without matrix diffusion) is being modeled. The retardation factors for the four species are 1, 1, 1.9, and 1, respectively (i.e. only species 3 sorbs).

    mptr                  
    4 3 1100100 0           Group 1
    2 0               Group 2
    zptr                  
    1                  
    1                  
    244562                 Group 3
    0.1 3.65e8 38 3.65e8           Group 4
    0.005 0.005 0.005 1.e-4 0.3         Group 5
                       
    1 0 0 1           Group 6
                       
    1 1 3.652485E6 2 1 -1
    0.5 Group 7
    1                 Group 8
    1 2
    1.e-14         Group 9
    1                 Group 10
    1 202 201 -1           Group 11
      365.25E2           Group 12
    365.25E2   730.5E2           Group 12
    730.5E2   1.09575E5           Group 12
    1.09575E5   1.461E5           Group 12
    .                 .
    .                 .
    .                 .
    1.7532E6 1.789725E6             Group 12
    1.789725E6 1.82625E6             Group 12
                       
    2 1 1.095745E6 3 0 -1
    0.5 Group 7
    1                 Group 8
    1 2
    1.e-14         Group 9
    1                 Group 10
    1 202 201 -1           Group 11
    0
    1.825E6             Group 12
                       
    3 1 3.652485E6 4 0 -1
    0.5 Group 7
    1                 Group 8
    1 2 0.108
    1.e-14         Group 9
    1                 Group 10
    1 202 201 -1           Group 11
    0
    1.825E6             Group 12
                       
    4 1 1.460972E6 -1 0 -1
    0.5 Group 7
    1                 Group 8
    1 2
    1.e-14         Group 9
    1                 Group 10
    1 202 201 -1           Group 11
    0
    1.825E6             Group 12
                       

    In the second example, transfer function data is used along with the active fracture and colloid diversity models. The the cumulative probability distribution function (CDF) retardation parameters for the colloid diversity model are entered in an external file using the table format. The format for the new input files associated with the colloid diversity model are:

    For ptrk/sptr/mptr simulations with TPRP_FLAG = 11 or 12:

    • Header line indicating the species number (always 1 for ptrk/sptr simulations)
    • Multiple tables, each with the following format:
      • One line specifying the realization number
      • Multiple lines with two columns of data (real) representing rcdiv and probdiv. Note that probdiv should start at 0 and end with 1.
      • A blank line is used to specify the end of the distribution table.
    • A blank line is used to specify the end of the file

    For mptr, a distribution will need to be entered for each colloid species. Therefore, the header line and tables are repeated for each colloid species.

    For ptrk/mptr simulations with TPRP_FLAG = 13 or 14:

    • Header line containing comments
    • Multiple lines, each line containing realization number, \(b, m, k_r, R_{min}, R_{max}\)
    • A blank line is used to specify the end of the file

    For sptr simulations with TPRP_FLAG = 13 or 14:

    • Header line containing comments
    • Multiple lines, each line containing realization number, \(b, m, k_r, R_{min}, R_{max}, \alpha_L\)
    • A blank line is used to specify the end of the file

    Particle statistics data for the cumulative number of particles that have left the sytem and the number of particles that left during the current timestep are output.

    mptr                  
    3 100 500000 0           Group 1
    0 30 3 6           Group 2
    tcurve                  
    3                  
    ../colloid_cell/input/uz_tfcurves_nn_3960.in                  
    244562                 Group 3
    1.e20
    1.e20           Group 4
    afm                  
    1.e-03 1.e-03 1.e-03 1.e-03 0.2 0.01 0.6 // layer 1 tcwm1 zone 1   Group 5
    1.e-03 1.e-03 1.e-03 0.00e+00 0.2 0.00 0.0 // layer 1 tcwm1 zone 2   Group 5
                       
    1 10 1 1           Group 6
    11 20 1 2           Group 6
                       
    1 1 0 -1 1 0 1.00E+15243 1.0 speci1 Group 7
    diveresity                  
    0                  
    file                  
    ../colloid_cell/input/rcoll_data.dat                  
    11 1                  
    irreversible                  
    2                 Group 8
    1 -2 0.0 1.0e+00 1.00e-30 1e+20 1 1.00 #1 tcwM1 Group 9
    2 -2 0.0 1.0e+00 1.00e-30 1e+20 1 1.00 #2 tcwM2 Group 9
                       
    1                 Group 10
    1 1 1 -1           Group 11
    100000
    0.01             Group 12
                       
    3 1 0 -1 1 0 1.00EE+15243 1.0 speci3 Group 7
    diversity                  
    0                  
    file                  
    ../colloid_cell/input/rcoll_data.dat                  
    11 3                  
    irreversible                  
    2                 Group 8
    1 -2 0.0 1.0e+00 1.00e-30 1e+20 1 1.00 #1 tcwM1 Group 9
    2 -2 0.0 1.0e+00 1.00e-30 1e+20 1 1.00 #2 tcwM2 Group 9
                       
    1                 Group 10
    1 1 1 -1           Group 11
    0
    0.01             Group 12
                       

    With the file rcoll_data.dat as:

    Test file for 1D importance sampling
    1 0.0 0.0 0.0
    1.0 0.0    
    2.0 0.125    
    3.0 0.25    
    4.0 0.375    
    5.0 0.5    
    6.0 0.625    
    7.0 0.75    
    8.0 0.875    
    9.0 1.0    
           
    .      
    .      
    .      
           
    3 0.0 0.0 0.0
    1.0 0.0    
    2.0 0.125    
    .      
    .      
    .      
    9.0 1.0    
           

    © Copyright 2018, Los Alamos National Laboratory